在開發過程中,應用程式具有一系列需求。
例如,可能需要考慮誰需要使用某個應用程式,這將決定該應用程式是否開放。
類似這樣,在開發過程中應考慮許多與安全性相關的需求。
安全需求是行動或執行某種安全控制的應用程式的任何需求或需求。
這些需求包括身份驗證或基於角色的存取控制(RBAC)之類的概念。
這些需求中的許多需求可以透過遵循[安全設計原則]確定。
應用程式可能遇到的安全需求的範例:
- 認證
- 具有多個用戶存取級別的任何應用程式的需求。
確保不可否認性,並且是最小特權原則的基礎。
- 基於授權/角色的存取控制
- 具有多個用戶存取級別的任何應用程式的需求。
確保執行最小特權原則。
- 輸入驗證/輸出編碼
- 對接收不受信任的資料並將其公開給用戶的任何應用程式的需求。
確保應用程式使用的資料的真實性和完整性。
- 秘密管理
- 應用程式使用的儲存機密(例如API令牌)的位置需求。
- 加密
- 有關如何以及何時加密靜態或傳輸中的資料的需求。
- 記錄
- 許多應用程式的需求,以確保應用程式動作不可否認。
與安全性相關的需求的實現中的失敗或缺陷可能導致其他各種漏洞,或者在某些情況下需要重新架構應用程式。
因此,在實現已確定的需求時需要格外小心。
如果您不確定安全需求的設計或實施,需透過AppSec安排[設計審查]或[實施審查]。